package edu.pe.cayetano.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

import edu.pe.cayetano.framework.Configuration;
import edu.pe.cayetano.framework.DAOException;
import edu.pe.cayetano.model.bean.CicloBean;

public class CicloDAO  extends BaseDAO{

	public CicloDAO(Connection cnx) {
		super(cnx);
	}
	
	/**
	 * Metodo que retorna el listado de ciclos
	 * */
	public ArrayList<CicloBean> getCiclos() throws Exception{

		CicloBean			cicloTO	 	= null;
		ArrayList<CicloBean> 			lista		 		= new ArrayList<CicloBean>();
		PreparedStatement   pstmt 		 		= null;
		ResultSet 			rs 			 		= null;
	
		try{
				StringBuffer query  = new StringBuffer();
				query.append(" SELECT C.CICLO_ID,C.NOMBRE"); 
				query.append(" FROM "+schema+"PERIODO_ACAD_CICLO B INNER JOIN "+schema+"CICLO C ON C.CICLO_ID=B.CICLO_ID");
				query.append(" INNER JOIN "+schema+"PERIODO_ACADEMICO D ON D.PERIODOACADEMICO_ID=B.PERIODOACADEMICO_ID");
				query.append(" WHERE D.ESTADO_ID=1");
				System.out.println("CicloDAO:getCiclos:<"+query.toString()+">");
				pstmt = getConnection().prepareStatement(query.toString());
				rs=pstmt.executeQuery();
				while(rs.next()){
					cicloTO=new CicloBean();
					cicloTO.setCodigo(rs.getInt(1));
					cicloTO.setNombre(rs.getString(2));
					lista.add(cicloTO);
				}
			}catch(Exception e){
				throw new DAOException(e.getMessage());
			}finally{
				try{
					try{pstmt.close();}catch(Exception e){}
					try{rs.close();}catch(Exception e){}
				}catch(Exception e1){}
			}
		return lista;
	}
}
